﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x02000E3F RID: 3647
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class RogueAdventureRoomGameplayWolfGunTarget : IMessage<RogueAdventureRoomGameplayWolfGunTarget>, IMessage, IEquatable<RogueAdventureRoomGameplayWolfGunTarget>, IDeepCloneable<RogueAdventureRoomGameplayWolfGunTarget>, IBufferMessage
	{
		// Token: 0x17002E6F RID: 11887
		// (get) Token: 0x0600A3EE RID: 41966 RVA: 0x001BA474 File Offset: 0x001B8674
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<RogueAdventureRoomGameplayWolfGunTarget> Parser
		{
			get
			{
				return RogueAdventureRoomGameplayWolfGunTarget._parser;
			}
		}

		// Token: 0x17002E70 RID: 11888
		// (get) Token: 0x0600A3EF RID: 41967 RVA: 0x001BA47B File Offset: 0x001B867B
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return RogueAdventureRoomGameplayWolfGunTargetReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x17002E71 RID: 11889
		// (get) Token: 0x0600A3F0 RID: 41968 RVA: 0x001BA48D File Offset: 0x001B868D
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return RogueAdventureRoomGameplayWolfGunTarget.Descriptor;
			}
		}

		// Token: 0x0600A3F1 RID: 41969 RVA: 0x001BA494 File Offset: 0x001B8694
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueAdventureRoomGameplayWolfGunTarget()
		{
		}

		// Token: 0x0600A3F2 RID: 41970 RVA: 0x001BA49C File Offset: 0x001B869C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueAdventureRoomGameplayWolfGunTarget(RogueAdventureRoomGameplayWolfGunTarget other) : this()
		{
			switch (other.TargetImplOneofCaseCase)
			{
			case RogueAdventureRoomGameplayWolfGunTarget.TargetImplOneofCaseOneofCase.TargetRuanmei:
				this.TargetRuanmei = other.TargetRuanmei.Clone();
				break;
			case RogueAdventureRoomGameplayWolfGunTarget.TargetImplOneofCaseOneofCase.TargetMiracle:
				this.TargetMiracle = other.TargetMiracle.Clone();
				break;
			case RogueAdventureRoomGameplayWolfGunTarget.TargetImplOneofCaseOneofCase.TargetNone:
				this.TargetNone = other.TargetNone.Clone();
				break;
			case RogueAdventureRoomGameplayWolfGunTarget.TargetImplOneofCaseOneofCase.TargetCoin:
				this.TargetCoin = other.TargetCoin.Clone();
				break;
			}
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x0600A3F3 RID: 41971 RVA: 0x001BA52F File Offset: 0x001B872F
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueAdventureRoomGameplayWolfGunTarget Clone()
		{
			return new RogueAdventureRoomGameplayWolfGunTarget(this);
		}

		// Token: 0x17002E72 RID: 11890
		// (get) Token: 0x0600A3F4 RID: 41972 RVA: 0x001BA537 File Offset: 0x001B8737
		// (set) Token: 0x0600A3F5 RID: 41973 RVA: 0x001BA550 File Offset: 0x001B8750
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueAdventureRoomTargetNone TargetNone
		{
			get
			{
				if (this.targetImplOneofCaseCase_ != RogueAdventureRoomGameplayWolfGunTarget.TargetImplOneofCaseOneofCase.TargetNone)
				{
					return null;
				}
				return (RogueAdventureRoomTargetNone)this.targetImplOneofCase_;
			}
			set
			{
				this.targetImplOneofCase_ = value;
				this.targetImplOneofCaseCase_ = ((value == null) ? RogueAdventureRoomGameplayWolfGunTarget.TargetImplOneofCaseOneofCase.None : RogueAdventureRoomGameplayWolfGunTarget.TargetImplOneofCaseOneofCase.TargetNone);
			}
		}

		// Token: 0x17002E73 RID: 11891
		// (get) Token: 0x0600A3F6 RID: 41974 RVA: 0x001BA567 File Offset: 0x001B8767
		// (set) Token: 0x0600A3F7 RID: 41975 RVA: 0x001BA580 File Offset: 0x001B8780
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueAdventureRoomTargetCoin TargetCoin
		{
			get
			{
				if (this.targetImplOneofCaseCase_ != RogueAdventureRoomGameplayWolfGunTarget.TargetImplOneofCaseOneofCase.TargetCoin)
				{
					return null;
				}
				return (RogueAdventureRoomTargetCoin)this.targetImplOneofCase_;
			}
			set
			{
				this.targetImplOneofCase_ = value;
				this.targetImplOneofCaseCase_ = ((value == null) ? RogueAdventureRoomGameplayWolfGunTarget.TargetImplOneofCaseOneofCase.None : RogueAdventureRoomGameplayWolfGunTarget.TargetImplOneofCaseOneofCase.TargetCoin);
			}
		}

		// Token: 0x17002E74 RID: 11892
		// (get) Token: 0x0600A3F8 RID: 41976 RVA: 0x001BA597 File Offset: 0x001B8797
		// (set) Token: 0x0600A3F9 RID: 41977 RVA: 0x001BA5AF File Offset: 0x001B87AF
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueAdventureRoomTargetMiracle TargetMiracle
		{
			get
			{
				if (this.targetImplOneofCaseCase_ != RogueAdventureRoomGameplayWolfGunTarget.TargetImplOneofCaseOneofCase.TargetMiracle)
				{
					return null;
				}
				return (RogueAdventureRoomTargetMiracle)this.targetImplOneofCase_;
			}
			set
			{
				this.targetImplOneofCase_ = value;
				this.targetImplOneofCaseCase_ = ((value == null) ? RogueAdventureRoomGameplayWolfGunTarget.TargetImplOneofCaseOneofCase.None : RogueAdventureRoomGameplayWolfGunTarget.TargetImplOneofCaseOneofCase.TargetMiracle);
			}
		}

		// Token: 0x17002E75 RID: 11893
		// (get) Token: 0x0600A3FA RID: 41978 RVA: 0x001BA5C5 File Offset: 0x001B87C5
		// (set) Token: 0x0600A3FB RID: 41979 RVA: 0x001BA5DD File Offset: 0x001B87DD
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueAdventureRoomTargetRuanmei TargetRuanmei
		{
			get
			{
				if (this.targetImplOneofCaseCase_ != RogueAdventureRoomGameplayWolfGunTarget.TargetImplOneofCaseOneofCase.TargetRuanmei)
				{
					return null;
				}
				return (RogueAdventureRoomTargetRuanmei)this.targetImplOneofCase_;
			}
			set
			{
				this.targetImplOneofCase_ = value;
				this.targetImplOneofCaseCase_ = ((value == null) ? RogueAdventureRoomGameplayWolfGunTarget.TargetImplOneofCaseOneofCase.None : RogueAdventureRoomGameplayWolfGunTarget.TargetImplOneofCaseOneofCase.TargetRuanmei);
			}
		}

		// Token: 0x17002E76 RID: 11894
		// (get) Token: 0x0600A3FC RID: 41980 RVA: 0x001BA5F3 File Offset: 0x001B87F3
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueAdventureRoomGameplayWolfGunTarget.TargetImplOneofCaseOneofCase TargetImplOneofCaseCase
		{
			get
			{
				return this.targetImplOneofCaseCase_;
			}
		}

		// Token: 0x0600A3FD RID: 41981 RVA: 0x001BA5FB File Offset: 0x001B87FB
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void ClearTargetImplOneofCase()
		{
			this.targetImplOneofCaseCase_ = RogueAdventureRoomGameplayWolfGunTarget.TargetImplOneofCaseOneofCase.None;
			this.targetImplOneofCase_ = null;
		}

		// Token: 0x0600A3FE RID: 41982 RVA: 0x001BA60B File Offset: 0x001B880B
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as RogueAdventureRoomGameplayWolfGunTarget);
		}

		// Token: 0x0600A3FF RID: 41983 RVA: 0x001BA61C File Offset: 0x001B881C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(RogueAdventureRoomGameplayWolfGunTarget other)
		{
			return other != null && (other == this || (object.Equals(this.TargetNone, other.TargetNone) && object.Equals(this.TargetCoin, other.TargetCoin) && object.Equals(this.TargetMiracle, other.TargetMiracle) && object.Equals(this.TargetRuanmei, other.TargetRuanmei) && this.TargetImplOneofCaseCase == other.TargetImplOneofCaseCase && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x0600A400 RID: 41984 RVA: 0x001BA6AC File Offset: 0x001B88AC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			if (this.targetImplOneofCaseCase_ == RogueAdventureRoomGameplayWolfGunTarget.TargetImplOneofCaseOneofCase.TargetNone)
			{
				num ^= this.TargetNone.GetHashCode();
			}
			if (this.targetImplOneofCaseCase_ == RogueAdventureRoomGameplayWolfGunTarget.TargetImplOneofCaseOneofCase.TargetCoin)
			{
				num ^= this.TargetCoin.GetHashCode();
			}
			if (this.targetImplOneofCaseCase_ == RogueAdventureRoomGameplayWolfGunTarget.TargetImplOneofCaseOneofCase.TargetMiracle)
			{
				num ^= this.TargetMiracle.GetHashCode();
			}
			if (this.targetImplOneofCaseCase_ == RogueAdventureRoomGameplayWolfGunTarget.TargetImplOneofCaseOneofCase.TargetRuanmei)
			{
				num ^= this.TargetRuanmei.GetHashCode();
			}
			num ^= (int)this.targetImplOneofCaseCase_;
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x0600A401 RID: 41985 RVA: 0x001BA739 File Offset: 0x001B8939
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x0600A402 RID: 41986 RVA: 0x001BA741 File Offset: 0x001B8941
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x0600A403 RID: 41987 RVA: 0x001BA74C File Offset: 0x001B894C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			if (this.targetImplOneofCaseCase_ == RogueAdventureRoomGameplayWolfGunTarget.TargetImplOneofCaseOneofCase.TargetRuanmei)
			{
				output.WriteRawTag(58);
				output.WriteMessage(this.TargetRuanmei);
			}
			if (this.targetImplOneofCaseCase_ == RogueAdventureRoomGameplayWolfGunTarget.TargetImplOneofCaseOneofCase.TargetMiracle)
			{
				output.WriteRawTag(66);
				output.WriteMessage(this.TargetMiracle);
			}
			if (this.targetImplOneofCaseCase_ == RogueAdventureRoomGameplayWolfGunTarget.TargetImplOneofCaseOneofCase.TargetNone)
			{
				output.WriteRawTag(74);
				output.WriteMessage(this.TargetNone);
			}
			if (this.targetImplOneofCaseCase_ == RogueAdventureRoomGameplayWolfGunTarget.TargetImplOneofCaseOneofCase.TargetCoin)
			{
				output.WriteRawTag(90);
				output.WriteMessage(this.TargetCoin);
			}
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x0600A404 RID: 41988 RVA: 0x001BA7E4 File Offset: 0x001B89E4
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			if (this.targetImplOneofCaseCase_ == RogueAdventureRoomGameplayWolfGunTarget.TargetImplOneofCaseOneofCase.TargetNone)
			{
				num += 1 + CodedOutputStream.ComputeMessageSize(this.TargetNone);
			}
			if (this.targetImplOneofCaseCase_ == RogueAdventureRoomGameplayWolfGunTarget.TargetImplOneofCaseOneofCase.TargetCoin)
			{
				num += 1 + CodedOutputStream.ComputeMessageSize(this.TargetCoin);
			}
			if (this.targetImplOneofCaseCase_ == RogueAdventureRoomGameplayWolfGunTarget.TargetImplOneofCaseOneofCase.TargetMiracle)
			{
				num += 1 + CodedOutputStream.ComputeMessageSize(this.TargetMiracle);
			}
			if (this.targetImplOneofCaseCase_ == RogueAdventureRoomGameplayWolfGunTarget.TargetImplOneofCaseOneofCase.TargetRuanmei)
			{
				num += 1 + CodedOutputStream.ComputeMessageSize(this.TargetRuanmei);
			}
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x0600A405 RID: 41989 RVA: 0x001BA870 File Offset: 0x001B8A70
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(RogueAdventureRoomGameplayWolfGunTarget other)
		{
			if (other == null)
			{
				return;
			}
			switch (other.TargetImplOneofCaseCase)
			{
			case RogueAdventureRoomGameplayWolfGunTarget.TargetImplOneofCaseOneofCase.TargetRuanmei:
				if (this.TargetRuanmei == null)
				{
					this.TargetRuanmei = new RogueAdventureRoomTargetRuanmei();
				}
				this.TargetRuanmei.MergeFrom(other.TargetRuanmei);
				break;
			case RogueAdventureRoomGameplayWolfGunTarget.TargetImplOneofCaseOneofCase.TargetMiracle:
				if (this.TargetMiracle == null)
				{
					this.TargetMiracle = new RogueAdventureRoomTargetMiracle();
				}
				this.TargetMiracle.MergeFrom(other.TargetMiracle);
				break;
			case RogueAdventureRoomGameplayWolfGunTarget.TargetImplOneofCaseOneofCase.TargetNone:
				if (this.TargetNone == null)
				{
					this.TargetNone = new RogueAdventureRoomTargetNone();
				}
				this.TargetNone.MergeFrom(other.TargetNone);
				break;
			case RogueAdventureRoomGameplayWolfGunTarget.TargetImplOneofCaseOneofCase.TargetCoin:
				if (this.TargetCoin == null)
				{
					this.TargetCoin = new RogueAdventureRoomTargetCoin();
				}
				this.TargetCoin.MergeFrom(other.TargetCoin);
				break;
			}
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x0600A406 RID: 41990 RVA: 0x001BA956 File Offset: 0x001B8B56
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x0600A407 RID: 41991 RVA: 0x001BA960 File Offset: 0x001B8B60
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num <= 66U)
				{
					if (num == 58U)
					{
						RogueAdventureRoomTargetRuanmei rogueAdventureRoomTargetRuanmei = new RogueAdventureRoomTargetRuanmei();
						if (this.targetImplOneofCaseCase_ == RogueAdventureRoomGameplayWolfGunTarget.TargetImplOneofCaseOneofCase.TargetRuanmei)
						{
							rogueAdventureRoomTargetRuanmei.MergeFrom(this.TargetRuanmei);
						}
						input.ReadMessage(rogueAdventureRoomTargetRuanmei);
						this.TargetRuanmei = rogueAdventureRoomTargetRuanmei;
						continue;
					}
					if (num == 66U)
					{
						RogueAdventureRoomTargetMiracle rogueAdventureRoomTargetMiracle = new RogueAdventureRoomTargetMiracle();
						if (this.targetImplOneofCaseCase_ == RogueAdventureRoomGameplayWolfGunTarget.TargetImplOneofCaseOneofCase.TargetMiracle)
						{
							rogueAdventureRoomTargetMiracle.MergeFrom(this.TargetMiracle);
						}
						input.ReadMessage(rogueAdventureRoomTargetMiracle);
						this.TargetMiracle = rogueAdventureRoomTargetMiracle;
						continue;
					}
				}
				else
				{
					if (num == 74U)
					{
						RogueAdventureRoomTargetNone rogueAdventureRoomTargetNone = new RogueAdventureRoomTargetNone();
						if (this.targetImplOneofCaseCase_ == RogueAdventureRoomGameplayWolfGunTarget.TargetImplOneofCaseOneofCase.TargetNone)
						{
							rogueAdventureRoomTargetNone.MergeFrom(this.TargetNone);
						}
						input.ReadMessage(rogueAdventureRoomTargetNone);
						this.TargetNone = rogueAdventureRoomTargetNone;
						continue;
					}
					if (num == 90U)
					{
						RogueAdventureRoomTargetCoin rogueAdventureRoomTargetCoin = new RogueAdventureRoomTargetCoin();
						if (this.targetImplOneofCaseCase_ == RogueAdventureRoomGameplayWolfGunTarget.TargetImplOneofCaseOneofCase.TargetCoin)
						{
							rogueAdventureRoomTargetCoin.MergeFrom(this.TargetCoin);
						}
						input.ReadMessage(rogueAdventureRoomTargetCoin);
						this.TargetCoin = rogueAdventureRoomTargetCoin;
						continue;
					}
				}
				this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
			}
		}

		// Token: 0x040042CF RID: 17103
		private static readonly MessageParser<RogueAdventureRoomGameplayWolfGunTarget> _parser = new MessageParser<RogueAdventureRoomGameplayWolfGunTarget>(() => new RogueAdventureRoomGameplayWolfGunTarget());

		// Token: 0x040042D0 RID: 17104
		private UnknownFieldSet _unknownFields;

		// Token: 0x040042D1 RID: 17105
		public const int TargetNoneFieldNumber = 9;

		// Token: 0x040042D2 RID: 17106
		public const int TargetCoinFieldNumber = 11;

		// Token: 0x040042D3 RID: 17107
		public const int TargetMiracleFieldNumber = 8;

		// Token: 0x040042D4 RID: 17108
		public const int TargetRuanmeiFieldNumber = 7;

		// Token: 0x040042D5 RID: 17109
		private object targetImplOneofCase_;

		// Token: 0x040042D6 RID: 17110
		private RogueAdventureRoomGameplayWolfGunTarget.TargetImplOneofCaseOneofCase targetImplOneofCaseCase_;

		// Token: 0x02001C05 RID: 7173
		public enum TargetImplOneofCaseOneofCase
		{
			// Token: 0x0400677A RID: 26490
			None,
			// Token: 0x0400677B RID: 26491
			TargetNone = 9,
			// Token: 0x0400677C RID: 26492
			TargetCoin = 11,
			// Token: 0x0400677D RID: 26493
			TargetMiracle = 8,
			// Token: 0x0400677E RID: 26494
			TargetRuanmei = 7
		}
	}
}
